System for providing relevant products to users

ABSTRACT

A computer-implemented method for responding to user behaviors includes storing category specifications for a plurality of categories configured to characterize users, storing categories for users in a computer network system, detecting behaviors of a user in real time, and determining in real time if the behaviors of the user is within a first category specification associated with a first category that the user is tagged with. If the behaviors of the user exceed the first category specification, the method assigns a second category to the user in real time in response to the detected user behaviors.

TECHNICAL FIELD

This application relates to technologies that enable electroniccommerce, and in particular, to technologies that tracks customerbehaviors and customizes marketing and communications based on customerbehaviors.

BACKGROUND OF THE INVENTION

Electronic commerce has been responsible for a large portion of economicgrowth in the last two decades. Customer behavior is an essential partof e-commerce. In recent years, even brick-and-mortar companies havesignificantly ramped up customer data collection and analyses to improvemarketing communications to customers, and for providing the rightproducts to the right customers. A common practice in customer behavioranalyses is to segment customers into multiple categories based oncustomer's shopping behavior, income, gender, geographic locations.Marketing and sales can be tailored to serve different customersegments.

There is a need for more accurately and more timely understandcustomers' behaviors to guide marketing, and to provide relevant productand services.

SUMMARY OF THE INVENTION

The presently disclosed system and method can accurately trackcustomers' behaviors, and timely respond to changes in customerbehaviors than convention systems. The presently disclosed system andmethod can thus provide improved user satisfaction and increased salesfor the product or service providers.

In one aspect, the present application relates to a computer-implementedmethod for responding to user behaviors. The method includes storingcategory specifications for a plurality of categories that characterizeusers; storing categories for users in a computer network system;detecting behaviors of a first user in real time, wherein the first useris tagged with a first category associated with a first categoryspecification; determining, in real time, by a computer processor if thebehaviors of the first user exceed the first category specification, ifthe behaviors of the first user exceed the first category specification,removing association of the first user with the first category from; andassigning a second category to the first user in real time in responseto the behaviors of the first user.

Implementations of the system may include one or more of the following.The computer-implemented method can further include determiningidentities of the first user across multiple systems and platforms,wherein the behaviors of the first user are collected from the multiplesystems and platforms in real time. The computer-implemented method canfurther include joining identities of the first user to form across-system, cross-platform, and cross-data-source identifier. Thecomputer-implemented method can further include if the behaviors of thefirst user are determined to be within the first category specificationby the computer processor, keeping the first user associated with thefirst category. The second category is assigned to the first user if thebehaviors of the first user are determined to fall in a second categoryspecification associated with the second category by the computerprocessor. The first category can be defined by multiple quantitativeparameters, wherein the step of detecting behaviors of a first user caninclude detecting one or more events conducted by the first user,wherein the step of determining can include calculating a probabilityfunction of at least the multiple quantitative parameters measured inthe one or more events. The category specifications can includelimitations along the multiple quantitative parameters, wherein the stepof determining comprises calculating a probability function of themultiple quantitative parameters measured in the one or more events andlimitations along the multiple quantitative parameters. Thecomputer-implemented method can further include comparing a probabilityobtained from calculating a probability function to a threshold value todetermine if the behaviors of the first user exceed the first categoryspecification. The category specifications can include limitations alongthe multiple quantitative parameters, wherein the step of determiningcan include calculating a probability function of the multiplequantitative parameters measured in the one or more events, firstlimitations along the multiple quantitative parameters for the firstcategory, and second limitations along the multiple quantitativeparameters for the second category. The computer-implemented method canfurther include comparing a probability obtained from calculating aprobability function to a threshold value to determine if the first useris to be reassigned to the second category from the first category. Thecomputer-implemented method can further include in response to theassigning of the second category to the first user, adjusting engagementmessages from the computer network system to the first user in realtime. The step of adjusting engagement messages can include before thestep of detecting, associating a first engagement message to the firstuser, wherein the first engagement message is intended to target usersin the first category; and after the step of assigning, associating asecond engagement message to the first user, wherein the secondengagement message is intended to target users in the second category.The step of detecting behaviors can include obtaining data from a website operated by the computer network system. The step of detectingbehaviors can include obtaining data from a device application providedby the computer network system. The step of detecting behaviors caninclude obtaining data from a data source external to the computernetwork system.

These and other aspects, their implementations and other features aredescribed in detail in the drawings, the description and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram for an exemplified network-based system forproducing personalized image products, image designs, or image projectscompatible with the present invention.

FIG. 2 is a system diagram for a network-based system compatible withthe present invention.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, a network-based imaging service system 10 canenable users 70, 71 to organize and share images via a wired network ora wireless network 51. The network-based imaging service system 10 isoperated by an image service provider such as Shutterfly, Inc. Thenetwork-based imaging service system 10 can optionally also fulfillimage products for the users 70, 71. The network-based imaging servicesystem 10 includes a data center 30, one or more product fulfillmentcenters 40, 41, and a computer network 80 that facilitates thecommunications between the data center 30 and the product fulfillmentcenters 40, 41.

The data center 30 can include one or more servers 32 for communicatingwith the users 70, 71, a data storage 34 for storing user data, imageand design data, and product information, and a computer processor 36for rendering images and product designs, organizing images, andprocessing orders. The user data can include account information,discount information, and order information associated with the user. Awebsite can be powered by the servers 32 and can be accessed by the user70 using a computer device 60 via the Internet 50, or by the user 71using a wireless device 61 via the wireless network 51.

The network-based imaging service system 10 can provide products thatrequire user participation in designs and personalization. Examples ofthese products include the personalized image products provided byShutterfly, Inc. In the present disclosure, the term “personalized”refers to the information that is specific to the recipient, the user,the gift product, and the occasion, which can include personalizedcontent, personalized text messages, personalized images, andpersonalized designs that can be incorporated in the image products. Thecontent of personalization can be provided by a user or selected by theuser from a library of content provided by the service provider. Theterm “personalized information” can also be referred to as“individualized information” or “customized information”.

Personalized image products can include users' photos, personalizedtext, personalized designs, and content licensed from a third party.Examples of personalized image products may include photobooks,personalized greeting cards, photo stationeries, photo or image prints,photo posters, photo banners, photo playing cards, photo T-shirts, photomugs, photo aprons, photo magnets, photo mouse pads, a phone case, acase for a tablet computer, photo key-chains, photo collectors, photocoasters, photo banners, or other types of photo gift or novelty item.Photobook generally refers to as bound multi-page product that includesat least one image on a book page. Photobooks can include photo albums,scrapbooks, bound photo calendars, or photo snap books, etc. The imageproducts each can include a single page or multiple pages. Each page caninclude one or more images, text, and design elements. Some of theimages may be laid out in an image collage.

The user 70 or her family may own multiple cameras 62, 63. The user 70transfers images from cameras 62, 63 to the computer device 60. The user70 can edit, organize images from the cameras 62, 63 on the computerdevice 60. The computer device 60 can be in many different forms: apersonal computer, a laptop, or tablet computer, a mobile phone etc. Thecamera 62 can include an image capture device integrated in or connectedwith in the computer device 60. For example, laptop computers orcomputer monitors can include built-in camera for picture taking. Theuser 70 can also print pictures using a printer 65 and make imageproducts based on the images from the cameras 62, 63. The cameras 62, 63can include a digital camera, a camera phone, a video camera capable oftaking motion and still images, a laptop computer, or a tablet computer.

The images from the cameras 62, 63 can also be uploaded to the server 32to allow the user 70 to organize and render images at the web site,share the images with others, and design or order image product usingthe images from the cameras 62, 63. The wireless device 61 can include amobile phone, a tablet computer, or a laptop computer, etc. The wirelessdevice 61 can include a built-in camera (e.g. in the case of a cameraphone). The pictures taken by the user 71 using the wireless device 61can be uploaded to the data center 30. If users 70, 71 are members of afamily or associated in a group (e.g. a soccer team), the images fromthe cameras 62, 63 and the mobile device 61 can be grouped together tobe incorporated into an image product such as a photobook, or used in ablog page for an event such as a soccer game.

The users 70, 71 can order the making of a physical product based on thedesign of the image product, which can be fulfilled by the printing andfinishing facilities 40 and 41. A recipient can receive the physicalproduct with messages from the users at locations 80, 85. The recipientmay also receive a digital version of the design of the image productover the Internet 50 and/or a wireless network 51. For example, therecipient can receive, on her mobile phone, an electronic version of agreeting card signed by handwritten signatures from her family members.

The creation of personalized image products, however, can takeconsiderable amount of time and effort. In some occasions, severalpeople may want to contribute to a common image product. For example, agroup of people may want or need to jointly sign their names, and writecomments on a get-well card, a baby-shower card, a wedding-gift card.The group of people may be at different locations. In particular, itwill be desirable to enable the group of people to quickly write theirnames and messages in the common image product using mobile devices.

In some embodiments, referring to FIGS. 1 and 2, the data storage 34 canstore different types of user data, product data, order and salesinformation, etc., in different format including in databases. The datacan be obtained from a website operated by the network-based imagingservice system 10 or a device application provided by the network-basedimaging service system 10. The data can be obtained from a data sourceexternal to the network-based imaging service system 10. For example,the data storage 34 can store internal user attribute data 100(including user ID, join date, geo location, age, tags or categoriesthat characterize users, etc.), internal user behavior data 105(including order history, product types ordered, average order value,total purchase value, ordering frequency, saved project history, visithistory, browsing habits, etc.), and internal user binary data 110(including uploaded project photos, videos, etc.). The user attributedata 100 can also include relationships of the user with others, majorevents in the user's life (birthday, anniversaries, spouse andchildren's or parents' birthdays, graduation day, etc.), the types ofphones or cameras that the user uses, income level, user's interests andhobbies, and club, sports, and professional affiliations, etc.).

The data storage 34 can also store external attribute data 115(including credit, demographics, geographic information, etc.), externalbehavior data 120 (including communication history on social mediawebsites, cross-website purchase history, interests previouslyexpressed), and external user binary data 125 (including uploaded photosto social media websites). Data at the external data sources (115-125)can be programmatically obtained by from partners, vendors or publicdata sources by accessing their APIs, or scraping.

The servers 32 (or a computer processor) can power a real-timeprocessing engine 200 to collect a non-stop, continuous data stream fromthe above described internal data sources (100-110), and external datasources (115-125). The real-time processing engine 200 can be incommunication with a universal digital identification exchange 205 todetermine identities of a user and his or her behaviors across multiplesystems and platforms. The universal digital identification exchange 205can map and join identities of the user or a cohort of users via across-system, cross-platform, and cross-data-source identifier, e.g.cookie, mobile device IMEI, behavior pattern, etc. For newly joinedusers, external data are accessed and processed as soon as useridentification (cookie, email, etc.) is provided. The real-timeprocessing engine 200 can collect user behaviors from multiple systemsand platforms in real time. A profile for decision/targeting can bebuilt before the user has even used the services in the network-basedimaging service system 10.

New users are categorized as they join by a cohort definition, usingexternal data if ID matching is available. Existing users' categoriesare updated in real time based on changes detected by real timeprocessing engine 200. For example, depending on their product orderinghistories, users can be categorized as low, mid, and high valuecustomers. Users can also be categorized by the products and servicesthey are interested in, for example, greeting card user, photobook user,or a combination of product categories. The categories are used todetermine the type of promotions to be sent to each category of users byreal-time decision engine 300. For example, higher priced photobooks andmobile phone cases may be promoted to the high value users. Photobooksales may be communicated to photobook users.

The processed streaming data is sent to a real-time decision engine 300.Non-streaming data is polled from sources and processed periodically.

In according to the present invention, users can be re-categorized inreal time in response to their current behavior, in comparison to theirexisting categories. A category specification module 320 storesspecification parameters for the user categories. For example, a lowvalue user can be defined by average order value below $15. A mid valueuser can be defined by average order value from $15 to below $25. A highvalue user can be defined by average order value at $25 and above. Theordering of a photobook from one user qualifies that user with aphotobook user tag. One user can be tagged by multiple tags: forexample, a user can be simultaneously a high value user and a photobookuser.

When user behavioral data is received by the real-time decision engine300, the real-time decision engine 300 retrieves the user identification(which includes a cross-system, cross-platform, and cross-data-sourceidentifier) involved in the incoming user data, and the categorizationsof the users from the internal user behavior data 105 or the externalbehavior data 120. The real-time decision engine 300 compares the newuser behavioral data with the category specifications 320 to determineif the user behaviors fall within or go beyond the specifications ofcategories that are currently associated with the user. For instance, ifa mid-value user suddenly purchases a $100 photobook, the user's averageorder price is significantly increased to above $25, that user can bere-categorized in real time as a high-value user. The tagging ofmid-value category is removed from associating with the user. The user'snew category or tag is saved instantly in the internal user behaviordata 105 or the external behavior data 120. If a user, who has neverpurchased a photobook, is detected as to purchasing her first photobook,the user is categorized with photobook user and the tag is saved in realtime. If the new user behavior does not exceed her existing categoriesor tags, her categories or tags are not changed.

In some embodiments, the real-time decision engine 300 evaluates two ormore user behavioral events to determine if the user should bere-categorized with a new category or changed from an existing categoryto a new one. In one aspect, considering multiple user behavioral eventscan reduce the chance of giving too much weight to a one-time userbehavior. It is more likely to discovery a real pattern in the user'sfuture behaviors.

For example, a category specification is defined by a parameter X, X canbe price, number of products per order, number of orders in a period,types of products, type of shipping, etc. A user is currently assignedin a first category that is defined by a range [X1, X2]. A secondcategory is defined [X3, X4]. For adjacent categories, X2 can be equalto X3. New user behaviors in events a and b can be quantified as Xa andXb. In general, the probability P to change the user's category from thefirst to the second one can be represented as:P=f(X1, X2, X3, X4, Xa, Xb)  Eqn. (1)

The probability P calculated can be compared to a predeterminedthreshold value P12, which sets the minimum probability required forhopping from the first category to the second category.

The same probability approach can be extended to more events (a, b, c .. . ) and multiple dimensions (X, Y, Z . . . ), wherein each of X, Y, Zrepresents a quantitative parameter such as price, number of productsper order, number of orders in a period, types of products, type ofshipping, etc. In the Y dimension, the first category can be limited arange [Y1, Y2]. A second category is defined [Y3, Y4]. In general, usercategories can be defined in a volume or manifold in a multi-dimensionalspace:P=f(X1, X2, X3, X4, Xa, Xb, Xc; Y1, Y2, Y3, Y4, Ya, Yb, Yc)  Eqn. (2)

In some embodiments, fuzzy logic can be used to determine categoryhopping from one current category to one or more potential categories.The hopping is determined not strictly by whether a user-initiated eventa, b, c produces category specification within or outside a range (e.g.[X1, X2], [X3, X4], [Y1, Y2], [Y3, Y4], etc.), rather by a probabilitydistribution in the multi-dimensional space (defined by the multipledimensions). The category hoping is determined by how much deviation ofthe user behavior from a first category to the second category byweighing deviations along all the dimensions of the categoryspecifications. The probability P calculated can be compared to apredetermined threshold value P₁₂ to determine if a category hop shouldoccur or not.

The servers 32 can also be installed with an inventory module 305 thatanalyzes inventory levels and matches with possible promotions andcomplementary products for all or specific categories of users, e.g.free iPhone case with iPad case purchase for high-value customers. Inaddition, a profitability module 310 calculates thresholds forpromotions for users in different categories, e.g. offer free gifts withpurchase until margin & forecasted user cohort's return on investmentmetrics drops below threshold. Moreover, a promotion rule module 315generates new, unique promotions for users, based on their categories,by analyzing current promotional activities, price table, and upcomingbuyouts with large impacts (e.g. direct mail buyout).

Once users' categories are re-evaluated and possibly re-categorizedusing new user behavior data, the real-time decision engine 300 candevelop marketing strategies using the newly obtained user categoryinformation under the guidance of the inventory module 305, theprofitability module 310, and the promotion rule module 315. Examples ofthe real-time decision engine 300's outputs include: the most likelyproduct to be purchased by one user or a cohort of users; the mostlikely promotion that will drive a purchase behavior change of one useror a cohort of users; fire sale of excess inventory to a cohort of userswith least negative financial impact.

Taking the output from the real-time decision engine 300, a real-timeengagement engine 400 can instantly change the engagement with therelevant users. The real-time engagement engine 400 identifies what totarget the cohort of users with (promotional offer or product), whereand how to target them (online media properties, e.g. a mother blog formother audience; geographical location, e.g. a radio advertisement inSan Francisco if an entire geographical location is under targeted,etc.). A universal digital identification exchange 205 can find externalidentities of users so each can be uniquely targeted. A messaging &creative asset generator 405 produces personalized creative assets(images, videos, sound) that are most likely to be responded by thecohort of users identified by real-time decision engine 300.

It should be noted that the conventional user analyses systems aredesigned to categorize users under a regular schedule, such as every 6months. One drawback of such a system is that even after a user behaviorhas changed for a while (sometimes a long time), the marketingengagement is still based on the old user behavior.

The presently disclosed system and method thus can accurately trackcustomers' behaviors and respond to changes in customer behaviors muchtimelier than convention systems, which can provide improved usersatisfaction and increased sales for the network-based system.

It should be understood that the presently disclosed systems and methodscan be compatible with different devices and image products orapplications other than the examples described above. The network-basedsystem can be implemented with different hardware or softwareconfigurations without deviating from the spirit of the presentinvention. User behaviors, product types, user categories, and categoryspecifications are not limited to the described examples while stillcompatible with the disclosed invention.

What is claimed is:
 1. A system for providing relevant products tousers, comprising: a data storage configured to store a first categorybound by a first numeric range in a data structure, wherein the firstnumeric range is defined by a first limit and a second limit, wherein afirst user is tagged with the first category, wherein the data storageis configured to store a second category bound by a second numeric rangein the data structure, wherein the second numeric range is defined by atleast a third limit, wherein the second numeric range is different fromthe first numeric range; one or more computer processors configured toautomatically detect in real time an action of the first user associatedwith the second numeric range, wherein the one or more computerprocessors are configured to automatically calculate a probabilisticfunction in real time in part based on the action of the first user,which produces a probability, wherein the probabilistic function is atleast dependent on the first limit, the second limit, the third limit,wherein the one or more computer processors are configured toautomatically determining if the probability is above a threshold value,and if the probability is above a threshold value, to automatically tagthe first user with the second category; and a manufacturing facilityconfigured to produce a personalized product for the first user inaccordance with the second category.
 2. The system of claim 1, whereinthe manufacturing facility includes a printer configured to print thepersonalized product for the first user in accordance with the secondcategory.
 3. The system of claim 1, wherein the manufacturing facilityincludes a finishing equipment configured to finish the personalizedproduct.
 4. The system of claim 1, wherein the second numeric range isfurther defined by a fourth limit.
 5. The system of claim 4, wherein theaction of the first user is quantified by a value between the thirdlimit and the fourth limit.
 6. The system of claim 1, wherein the firstnumeric range and the second numeric range are respectivelycharacterized in multiple dimensions.
 7. The system of claim 1, whereinthe first numeric range is defined by more than two limits, wherein thesecond numeric range is defined by more than two limits.
 8. The systemof claim 1, wherein the first numeric range and the second numeric rangeare not overlapping with each other.
 9. The system of claim 1, whereinthe action of the first user is detected in an external data source. 10.The system of claim 1, wherein the action of the first user is detectedfrom multiple platforms.
 11. The system of claim 10, wherein identitiesof the first user from the multiple platforms are joined.
 12. The systemof claim 1, further comprising: a computer server configured to send thefirst user a message associated with the second category in response tothe step of automatically assigning the first user to be tagged with thesecond category.